-- BP 7.1.6 content: ModelClass syschar: 3 persistence-version: 7.1.6

INSERT INTO O_OBJ
	VALUES ("b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	'Numeric',
	404,
	'NUMI',
	'Numeric is as described in [OOAData] below. NOTE: The description isn''t a model.
Some seeming attributes of numeric in the description might be modeled as 
their own objects. e.g., "units" aren''t always used, so cannot be an attribute.

"If a data type is numeric in nature, write:
    data type <data type name> is numeric (base <N>)
    range is from <low limit> to <high limit>
    units are <unit symbol>
    precision is <smallest discriminant>
    ( default value is <value> )
where base N specifies the base of the quantities <low limit>, <high limit>, 
<smallest discriminant> and <value>. If base N is omitted, base 10 is assumed. 
Hence:
    data type ring diameter is numeric
    range is from 0 to 39
    units are cm
    precision is 0.01
    data type bit pattern is numeric base 8
    range is from 0 to 177777
    units are octal bits
    precision is 1
Note that the analyst does not specify whether a numeric data type will be 
implemented as an integer or a real number. This will ultimately be determined 
by the architecture, based on the native types available in the implementation 
language, the word length of these native types, and the range and precision 
required for the data type. As a result, the OOA models of any domain are 
entirely decoupled from the implementation technology, thereby maximizing the 
potential for reuse across a wide range of platforms and implementation 
languages.

The operations permitted for numeric data types are:
    - the standard arithmetic operations +, -, * (multiplication), / (division),
        % (division modulo N), and ** (exponentiation). The result of such an 
        operation is again of base type numeric.
    - the standard arithmetic comparisons of = , != , <, >, <= , and >= . The 
        result of such a comparison yields a data element of base type 
        boolean." [OOAData]',
	"00000000-0000-0000-0000-000000000000");
INSERT INTO O_TFR
	VALUES ("423ca346-0441-469b-91ae-086e2e1a228c",
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	'generateSupportedOperators',
	'"the standard arithmetic operations +, -, * (multiplication), / (division),
% (division modulo N), and ** (exponentiation). The result of such an 
operation is again of base type numeric.
the standard arithmetic comparisons of = , != , <, >, <= , and >=. The  
result of such an operation is of base type boolean." [OOAData] ',
	"ba5eda7a-def5-0000-0000-000000000000",
	1,
	'generate TYOP_A1:create(name:"assignment", symbol:":=", type:"numeric", result:"numeric") to TYOP class;
generate TYOP_A1:create(name:"addition", symbol:"+", type:"numeric", result:"numeric") to TYOP class;
generate TYOP_A1:create(name:"subtraction", symbol:"-", type:"numeric", result:"numeric") to TYOP class;
generate TYOP_A1:create(name:"multiplication", symbol:"*", type:"numeric", result:"numeric") to TYOP class;
generate TYOP_A1:create(name:"division", symbol:"/", type:"numeric", result:"numeric") to TYOP class;
generate TYOP_A1:create(name:"modulo", symbol:"%", type:"numeric", result:"numeric") to TYOP class;
generate TYOP_A1:create(name:"exponentiation", symbol:"**", type:"numeric", result:"numeric") to TYOP class;
generate TYOP_A1:create(name:"equal", symbol:"=", type:"numeric", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"not equal", symbol:"!=", type:"numeric", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"greater", symbol:">", type:"numeric", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"lesser", symbol:"<", type:"numeric", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"greater or equal", symbol:">=", type:"numeric", result:"boolean") to TYOP class;
generate TYOP_A1:create(name:"lesser or equal", symbol:"<=", type:"numeric", result:"boolean") to TYOP class;
',
	1,
	'',
	"00000000-0000-0000-0000-000000000000",
	0);
INSERT INTO O_REF
	VALUES ("b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	"457cd498-80ef-4e4e-95e0-56bc48607519",
	0,
	"c6811edb-d913-48b2-be3e-1d2ebba0547e",
	"ad325f35-faf5-44a4-ac99-a2f9909efbb9",
	"fd2d7c44-8a02-4416-ac0d-e21106fc3ef9",
	"be141c7f-7bce-427c-8219-bd5767c973d9",
	"b38ae8c9-bd47-4299-be0e-0ff6383d0e44",
	"e54b37e9-1591-4b5d-939e-e61bed598f07",
	"00000000-0000-0000-0000-000000000000",
	0,
	'',
	'Core',
	'name',
	'R403');
INSERT INTO R_RGO_PROXY
	VALUES ("b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	"ad325f35-faf5-44a4-ac99-a2f9909efbb9",
	"fd2d7c44-8a02-4416-ac0d-e21106fc3ef9",
	'../Type.xtuml');
INSERT INTO O_RTIDA_PROXY
	VALUES ("c6811edb-d913-48b2-be3e-1d2ebba0547e",
	"457cd498-80ef-4e4e-95e0-56bc48607519",
	0,
	"ad325f35-faf5-44a4-ac99-a2f9909efbb9",
	"be141c7f-7bce-427c-8219-bd5767c973d9",
	'../Type.xtuml');
INSERT INTO O_RATTR
	VALUES ("b38ae8c9-bd47-4299-be0e-0ff6383d0e44",
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	"d59bff5d-0418-4222-8cac-0ab92a87871f",
	"0c8bafe9-416d-4662-a4ec-206f276b9ac5",
	1,
	'name');
INSERT INTO O_BATTR_PROXY
	VALUES ("d59bff5d-0418-4222-8cac-0ab92a87871f",
	"0c8bafe9-416d-4662-a4ec-206f276b9ac5",
	'../Type/Type.xtuml');
INSERT INTO O_ATTR
	VALUES ("b38ae8c9-bd47-4299-be0e-0ff6383d0e44",
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	"00000000-0000-0000-0000-000000000000",
	'name',
	'',
	'',
	'name',
	0,
	"ba5eda7a-def5-0000-0000-000000000007",
	'',
	'');
INSERT INTO O_NBATTR
	VALUES ("c9557d5c-393e-4d7b-ac7b-c4c5196c32c6",
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe");
INSERT INTO O_BATTR
	VALUES ("c9557d5c-393e-4d7b-ac7b-c4c5196c32c6",
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe");
INSERT INTO O_ATTR
	VALUES ("c9557d5c-393e-4d7b-ac7b-c4c5196c32c6",
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	"b38ae8c9-bd47-4299-be0e-0ff6383d0e44",
	'current_state',
	'',
	'',
	'current_state',
	0,
	"ba5eda7a-def5-0000-0000-000000000006",
	'',
	'');
INSERT INTO O_ID
	VALUES (0,
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe");
INSERT INTO O_OIDA
	VALUES ("b38ae8c9-bd47-4299-be0e-0ff6383d0e44",
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	0,
	'name');
INSERT INTO O_ID
	VALUES (1,
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe");
INSERT INTO O_ID
	VALUES (2,
	"b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe");
INSERT INTO PE_PE
	VALUES ("b1edcd1a-2a36-4b51-81a3-3ae31cd1e1fe",
	1,
	"03ad3705-d9c8-45b5-a34b-f270ac9fc479",
	"00000000-0000-0000-0000-000000000000",
	4);
INSERT INTO EP_PKG_PROXY
	VALUES ("03ad3705-d9c8-45b5-a34b-f270ac9fc479",
	"00000000-0000-0000-0000-000000000000",
	"c8b88000-dddc-4206-8410-2f69b8f86b67",
	'Type',
	'',
	400,
	'../Type.xtuml');
